Virtual Machine Detection

Both Sentinel RMS License Manager and standalone components (since v8.4.0 and higher) are capable of detecting if they are running within a virtual environment.

You can use this feature to control or prevent your licensed applications from being used within a VM.

The following virtualization solutions have been validated for Microsoft Windows.

>VMWare Workstation v7.0

>VMWare ESXi v4.0

>Virtual Box v3.1

>Virtual PC 2007 v6.0

>QEMU v0.11

>Parallels Desktop 4

>XEN Hypervisor 3.2

>Microsoft Hyper-V for Windows 10 build v1809

>kvm 76

>Citrix XenServer 5.6

The following virtualization solutions have been validated for Linux.

>VMWare Workstation v7.0

>VMWare ESXi v4.0

>Virtual Box v3.1

>Citrix XenServer 5.6

NOTE   The hardware keys (meter keys and CID keys) have been observed to be responding intermittently on the supported version of Virtual Box.

The following virtualization solutions have been validated for Solaris:

>Oracle xVM Server v2.2.1 for x86 and Oracle xVM Server v2.1 for Sparc

>VMWare Workstation v7.0 - x86 only

>VMWare ESXi v4.1- x86 only

>Virtual Box v3.1- x86 only

Policy Enforcement through a License

Post-VM detection: you can either set a policy through the license or call the VLSisVirtualMachine API to enforce your strategy.

A version 13 (and later) license can have a property enabled which will deny or allow granting of a license token to your application when in a VM. If denied, it shows a VLS_VIRTUAL_MACHINE_IS_DETECTED/SNTL_VIRTUAL_MACHINE_IS_DETECTED error.

The following screenshot displays the option of setting the VM detection mode in WlscGen:

You can use the -vm command-line option in lscgen. You can also set the VM detection option in lscgen interactive mode (shown below) or use the global defaults file.

If you have created your own license generation utility, you can use the following API. These are used for setting the action on detection of a virtual machine: whether to allow or deny granting a license token.

>VLScgSetVmDetection

>VLScgAllowVmDetection

Refer to the Sentinel RMS API Reference Guide for details on using the API.

API for Custom Action

The status of the running License Manager, whether running on VM or not, can be reported back to the client using a new API function VLSisVirtualMachine. Using this, you can decide any further action such as: allowing or denying application use, differential pricing to allow use of application on VM, and so on.

Refer to the Sentinel RMS API Reference Guide for details on using the API.